package com.happysmile.tsm.mybatis.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@Table(name = "task")
public class Task {

    /*
    * task表主键
    * */
    @ApiModelProperty(value = "task表主键",required = false)
    @Id
    @Column
    private Long id;

    /*
     * 进程号
     */
    @JsonIgnore
    @ApiModelProperty(value = "linux操作系统进程号,用于关闭和打开进程",required = false)
    @Column(unique = true,nullable = false)
    private Integer pid;

    /*
     * 任务是否正在运行。0表示否，1表示是。之所以设置这个字段，是因为想要定时删除一些关联的任务和脚本。
     * */
    @ApiModelProperty(value = "任务是否正在运行。0表示否，1表示是。之所以设置这个字段，是因为想要定时删除一些关联的任务和脚本。",required = true,example = "0")
    @Column(unique = true,nullable = false)
    private Boolean isRun;


    /*
     * task表外键，script表主键
     * */
    @ApiModelProperty(value = "task表外键，script表主键",required = false)
    @Id
    @Column
    private Long sid;

    /*
     * 任务录入时间
     * */
    @ApiModelProperty(value = "脚本录入时间",example = "2020-11-11 11:11:11")
    @Column(nullable = false)
    private Date createAt;

    /*
     * 上次修改任务状态时间
     * */
    @ApiModelProperty(value = "上次修改脚本时间",example = "2020-11-11 11:11:11",required = true)
    @Column(nullable = false)
    private Date modifyAt;



}
